package org.com.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.com.pojo.Users;
import org.com.vo.UserVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Map;

/**
* @author 86134
* @description 针对表【users】的数据库操作Service
* @createDate 2025-02-26 22:01:09
*/
public interface UsersService extends IService<Users> {
    boolean addUser(Users user,String code);
    boolean adminUpdateApplyType(Integer userId, Integer applyType);

    boolean userUpdateApplyType(Integer userId, Integer roleId, Integer applyType);
    UserVO login(String username, String password);
    boolean findPassword(String phone, String username, String newPassword);
    public List<Map<String, Object>> getApplyTypeUser();
    Users getUserProfile(Integer userId);
    boolean updateUserProfile(Users user);
    // 获取所有专家用户ID（roleId = 3 且 applyType = 1）
    List<Integer> getExpertUserIds();
    // 获取包含用户角色信息的用户列表
    Page<Users> getUserListWithRoles(Page<Users> page);
    // 重置用户密码
    boolean resetUserPassword(Integer userId);
    // 删除用户及其角色信息
    boolean deleteUserWithRoles(Integer userId);
    // 更新用户状态
    boolean updateUserStatus(Integer userId, Integer status);
}
